package thread;

public class SyncDemo2 {
    public static void main(String[] args) {
//        Shop shop=new Shop();
        Shop shop1=new Shop();
        Shop shop2=new Shop();

        Thread thread=new Thread("王克晶"){
            public void run(){
//                shop.buy();
                shop1.buy();

            }
        };
        Thread thread1=new Thread("范传奇"){
            public void run(){
//                shop.buy();
                shop2.buy();
            }
        };
        thread.start();
        thread1.start();

    }

}
class Shop{
//    public synchronized void buy(){
    public  void buy(){

        try {
            Thread t=Thread.currentThread();

            System.out.println(t.getName()+":正在挑衣服....");
            Thread.sleep(5000);

                synchronized (this){//this同一个对象shop
//            synchronized (new Object()) {//new,每次都会产生新的对象，
//            synchronized ("hello"){//同一个字面量对象，有效但不合适
                System.out.println(t.getName() + ":正在试衣服.....");
                Thread.sleep(5000);
            }

            System.out.println(t.getName()+":结账离开");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
